Massively Parallel Processor Array
   HOME

TheInfoList



OR:

A massively parallel processor array, also known as a multi purpose processor array (MPPA) is a type of integrated circuit which has a
massively parallel Massively parallel is the term for using a large number of computer processors (or separate computers) to simultaneously perform a set of coordinated computations in parallel. GPUs are massively parallel architecture with tens of thousands of t ...
array of hundreds or thousands of CPUs and
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
memories. These processors pass work to one another through a reconfigurable interconnect of
channels Channel, channels, channeling, etc., may refer to: Geography * Channel (geography), in physical geography, a landform consisting of the outline (banks) of the path of a narrow body of water. Australia * Channel Country, region of outback Austral ...
. By harnessing a large number of processors working in parallel, an MPPA chip can accomplish more demanding tasks than conventional chips. MPPAs are based on a software parallel
programming model A programming model is an execution model coupled to an API or a particular pattern of code. In this style, there are actually two execution models in play: the execution model of the base programming language and the execution model of the prog ...
for developing high-performance
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
applications.


Architecture

MPPA is a
MIMD In computing, multiple instruction, multiple data (MIMD) is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be exe ...
(Multiple Instruction streams, Multiple Data) architecture, with
distributed memory In computer science, distributed memory refers to a multiprocessor computer system in which each processor has its own private memory. Computational tasks can only operate on local data, and if remote data are required, the computational task mu ...
accessed locally, not shared globally. Each processor is strictly encapsulated, accessing only its own code and memory. Point-to-point communication between processors is directly realized in the configurable interconnect. The MPPA's massive parallelism and its distributed memory MIMD architecture distinguishes it from
multicore A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
and
manycore Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are use ...
architectures, which have fewer processors and an SMP or other
shared memory In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
architecture, mainly intended for general-purpose computing. It's also distinguished from
GPGPU General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
s with
SIMD Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it shoul ...
architectures, used for HPC applications.


Programming

An MPPA application is developed by expressing it as a hierarchical
block diagram A block diagram is a diagram of a system in which the principal parts or functions are represented by blocks connected by lines that show the relationships of the blocks.
or
workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence o ...
, whose basic objects run in parallel, each on their own processor. Likewise, large data objects may be broken up and distributed into local memories with parallel access. Objects communicate over a parallel structure of dedicated channels. The objective is to maximize aggregate throughput while minimizing local latency, optimizing performance and efficiency. An MPPA's
model of computation In computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes how ...
is similar to a
Kahn process network A Kahn process network (KPN, or process network) is a Distributed computing, distributed ''model of computation'' in which a group of deterministic sequential Process (computing), processes communicate through unbounded FIFO (computing and electron ...
or
communicating sequential processes In computer science, communicating sequential processes (CSP) is a formal language for describing patterns of interaction in concurrent systems. It is a member of the family of mathematical theories of concurrency known as process algebras, or ...
(CSP).


Applications

MPPAs are used in high-performance
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s and hardware acceleration of desktop computer and
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
applications, such as video compression, image processing, medical imaging,
network processing A network processor is an integrated circuit which has a feature set specifically targeted at the networking application domain. Network processors are typically software programmable devices and would have generic characteristics similar to gen ...
, software-defined radio and other compute-intensive streaming media applications, which otherwise would use FPGA,
DSP DSP may refer to: Computing * Digital signal processing, the mathematical manipulation of an information signal * Digital signal processor, a microprocessor designed for digital signal processing * Yamaha DSP-1, a proprietary digital signal ...
and/or ASIC chips.


Examples

MPPAs developed in companies include ones designed at: Ambric, PicoChip,
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
, IntellaSys, GreenArrays,
ASOCS ASOCS Ltd. is a privately held company,a developer of on-premise cloud solutions for industries such as retail, real estate, hospitality, health, sports and entertainment. ASOCS is also collaborating with mobile network carriers to support the mo ...
,
Tilera Tilera Corporation was a fabless semiconductor company focusing on manycore embedded processor design. The company shipped multiple processors, including the TILE64, TILE''Pro''64, and the TILE''Pro''36, TILE-Gx72, TILE-Gx36, TILE-Gx16 and TILE- ...
,
Kalray Kalray is a fabless semiconductor company. Founded in 2008 as a spin-off of CEA French lab, with investors such as Renault–Nissan–Mitsubishi Alliance, Safran, NXP Semiconductors, CEA and Bpifrance. Product history The first Kalray paten ...
, Coherent Logix, Tabula, and
Adapteva Zero ASIC Corporation, formerly Adapteva, Inc., is a fabless semiconductor company focusing on low power many core microprocessor design. The company was the second company to announce a design with 1,000 specialized processing cores on a single ...
. Aspex (Ericsson) Linedancer differs in that it was a Massive wide ''SIMD'' Array rather than an MPPA. Strictly speaking it could qualify as SIMT due to all 4096 of the 3,000 gate cores having its own Content-Addressable Memory. Fabricated MPPAs developed in universities include: 36-core and 167-core Asynchronous Array of Simple Processors (AsAP) arrays from the
University of California, Davis The University of California, Davis (UC Davis, UCD, or Davis) is a public land-grant research university near Davis, California. Named a Public Ivy, it is the northernmost of the ten campuses of the University of California system. The inst ...
, 16-core RAW from
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the m ...
, and 16-core and 24-core arrays from
Fudan University Fudan University () is a national public research university in Shanghai, China. Fudan is a member of the C9 League, Project 985, Project 211, and the Double First Class University identified by the Ministry of Education of China. It is als ...
. The Chinese
Sunway Sunway may refer to: Places * Bandar Sunway, also called Sunway or Sunway City, a township in Petaling Jaya, Selangor, Malaysia Brands and enterprises * Sunway (processor), a series of Chinese computer microprocessors * Sunway Group, a Malaysian co ...
project developed their own 260-core
SW26010 The SW26010 is a 260-core manycore processor designed by the Shanghai Integrated Circuit Technology and Industry Promotion Center (ICC for short)( Chinese: 上海集成电路技术与产业促进中心 (简称ICC)). It implements the Sunway architec ...
manycore chip for the TaihuLight supercomputer, which is as of 2016 the world's fastest supercomputer. Anton 3 processors, designed by D. E. Shaw Research for
molecular dynamics Molecular dynamics (MD) is a computer simulation method for analyzing the physical movements of atoms and molecules. The atoms and molecules are allowed to interact for a fixed period of time, giving a view of the dynamic "evolution" of t ...
simulations, contain arrays of 576 processors arranged in a 12×24 tiled grid of pairs of cores; a routed network links these tiles together and extends off-chip to other nodes in a full system.


See also

*
Manycore Manycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are use ...
*
AI accelerator An AI accelerator is a class of specialized hardware accelerator or computer system designed to accelerate artificial intelligence and machine learning applications, including artificial neural networks and machine vision. Typical applications i ...
* Asynchronous array of simple processors *
SW26010 The SW26010 is a 260-core manycore processor designed by the Shanghai Integrated Circuit Technology and Industry Promotion Center (ICC for short)( Chinese: 上海集成电路技术与产业促进中心 (简称ICC)). It implements the Sunway architec ...
*
Array processor In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set where its instructions are designed to operate efficiently and effectively on large one-dimensional arrays of data call ...


References

{{Reflist Manycore processors Parallel computing